<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <!-- 引入Vue -->
    <script src="../js/vue.js"></script>
    <title>条件渲染</title>
</head>
<body>
    
    <!-- 
        条件渲染：
            1.v-if 
                写法：
                    (1). v-if="表达式"
                    (2). v-else-if="表达式"
                    (3). v-else="表达式"
                适用于：切换频率较低的场景
                特点；不展示的DOM元素被直接移除
                注意：v-if 可以和 ：v-else-if 、v-else 一起使用，但要求结构不能被"打断"。

            2.v-show
                写法：v-show="表达式"
                适用于：切换频率相对较高的场景
                特点：不展示的DOM元素未被移除，仅仅是使用样式隐藏掉了
            
            3. 备注：使用 v-if 时，元素可能无法获取到，而是用 v-show 一定可以获取到。
                v-if 还可以配合 "template" 标签使用，实现多个元素的条件渲染。
     -->


    <!-- 容器 -->
    <div id="root">
        <h2>当前n的值：{{n}}</h2>
        <button @click="n++">点击n+1</button>
        <!-- 使用 v-show 做条件渲染  采用的是：style="display: none;" 元素的结构依旧保留-->
        <h2 v-show="false">欢迎来到 {{name}}</h2>
        <h2 v-show="1===2">欢迎来到 {{name}}</h2>

        <!-- 使用 v-if 做条件渲染 会彻底的删除，结构不会保留-->
        <h2 v-if="false">欢迎来到 {{name}}</h2>
        <h2 v-if="1===3">欢迎来到 {{name}}</h2>

        <!-- v-else-if 和 v-else 条件渲染 ，中间的结构不能被打断 -->
        <div v-if="n===1">jnoe</div>
        <div v-else-if="n===2">jack</div>
        <div v-else-if="n===3">tom</div>
        <div v-else>else...</div>

        <!-- v-if 和 template 的配合使用 -->
        <template v-if="n===1">
            <h2>你好</h2>
            <h2>北凉世子</h2>
            <h2>徐凤年</h2>
        </template>

    </div>

    <script type="text/javascript">
       Vue.config.productionTip=false; // 阻止 vue 在启动时生成生产提示。

       
       new Vue({
            el:'#root',
            data:{
                name:'北凉战场',
                n : 0,
            },
            

        })
 
       
    </script>
</body>
</html>